The cost of designing and producing circuits is expensive. Accordingly, engineers need to ensure that the circuits they are designing function as desired. A number of computer applications have been developed which allow design engineers to test their circuits prior to actually incurring the cost of production. Some of these computer-aided engineering applications are based on "SPICE," which was first developed by the University of California at Berkeley and later refined by a number of institutions, including the Georgia Institute of Technology. The SPICE-based applications provide design engineers with the necessary tools to create, test, and simulate circuits on a computer.
Different levels or stages of the circuit design process require different schematic diagrams. For example, a design engineer may use a "closed-loop" schematic during a development stage, while a production engineer may use a "production" schematic. Further, a test engineer may create a number of schematics to test a circuit according to different sets of stimuli and load conditions. Although the schematics are associated with the same core circuit and may incorporate a number of the same components, each of the schematics will include a number of elements unique to that particular schematic incarnation.
A long-standing problem in electrical and mechanical circuit design is the conflict between the needs of the design engineer and the needs of the production engineer. A design engineer uses electronic design automation (EDA) tools to create a circuit that meets desired specifications. During the design process, the design engineer builds multiple configurations of the circuit. The operation of the circuit is simulated, with parasitic components and stimuli added to modify the simulation. In a top-down design methodology, different levels of abstraction are inserted for different circuit components. In addition, various aspects of electrical behavior are modeled, resulting in different component and simulation configurations. This entire design process results in a schematic diagram which is confusingly cluttered and includes circuitry and data not necessary for production. When the circuit is finalized and ready for production, the schematic needs to be redrawn for or by the production engineer. The redrawing of the schematic is accompanied by a high probability of incurring a transcription error. Any error carried through to the production stage is extremely expensive and burdensome to correct. In addition, any change which is made to one component of the circuit needs to be propagated through all of the different schematics variations which contain that component; accordingly, each of the schematics needs to be re-edited which is expensive, time consuming, and inherent with a probability of error.
One of the conventional approaches to overcoming this problem has been to hide the many auxiliary configurations and variations of the circuit in "subcircuits." Although this approach may function for hierarchical schematic entry, or for extending individual component models, it does not solve the problem of adding test equipment to the circuit, adding different stimuli inputs, or dealing with multiple simulation scenarios.
Accordingly, in view of the foregoing, it is an object of the present invention to provide methods and apparatus which eliminate many of the drawbacks associated with conventional computer-aided engineering applications.
It is an additional object of the present invention to provide a computerized schematic drawing system which allows a user to create and modify a set of schematic diagrams for one or more designs and which substantially eliminates errors and inconsistencies between multiple schematics associated with a common circuit.